/*
    题目信息：提示用户输入年月日信息，判断这一天是这一年中的第几天并打印
 */

import java.util.Scanner;

public class DaysInYear {
    public static void main(String[] args) {
        // 1. 提示用户按照指定格式输入年月日
        System.out.println("请输入年月日信息，如20210704:");
        Scanner sc = new Scanner(System.in);
        int date_int = sc.nextInt();
        //  2. 将年月日信息拆分为对应的int类型的数据
        int year = date_int / 10000;
        int month = date_int % 10000 / 100;
        int day = date_int % 100;

        // 3. 定义数组表示每月天数，其中二月天数需要单独计算是否是平闰年
        int[] days_in_every_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        if((0 != year % 100 && 0 == year % 4) || 0 == year % 400) {
            days_in_every_month[1] = 29;
        }
        // 4. 计算及打印年月日信息在一年中的天数
        int days_in_year = 0;
        for(int i = 0; i < month - 1; i++) {
            days_in_year += days_in_every_month[i];
        }
        days_in_year += day;
        System.out.println(year + "年" + month + "月" + day + "日是这一年中的第"
                + days_in_year + "天");
    }
}
